Systems Thinking In Extreme Programming
نویسنده
چکیده
Extreme Programming (XP) is a new software development method (SDM) that claims to be superior to other methods in some situations that are characterised by vague requirements and rapid change. XP has quickly gained a remarkable degree of acceptance in parts of the software engineering community. Interestingly, it has provoked a vivid and often controversial exchange of opinions, ranging from enthusiastic support to vigorous criticism. In this paper we look at possible sources of such fundamental disagreement. We use general systems theory as an integrative theoretical framework to analyse SDMs and expose their underlying, often implicit assumptions. We discuss some examples where the assumptions made by XP are fundamentally different from the assumptions made by most other SDMs. These fundamentally different assumptions indicate fundamentally different mental models. Mental models are central to systems thinking because they have a strong influence on our perception of reality and our behaviour. If they act as unconscious filters that limit our perception to what we expect, they can seriously impede our ability to learn. We conclude that mental models play a crucial role in the introduction of XP.
منابع مشابه
Incorporating Discount Usability in Extreme Programming
Extreme programming (XP) is one of the well-known forms of agile software development, due to its iterative nature, software developers focus on functional aspects and neglect the non-functional characteristics of software like usability. This research investigates the importance of end user involvement in extreme programming using grounded theory and describes the key question that how usabili...
متن کاملThe Reflective Practitioner Perspective in eXtreme Programming
This paper examines ways by which a reflective mode of thinking may improve eXtreme Programming (XP) practices. It describes the reflective practitioner perspective and suggests specific ways in which such an approach may be interwoven into XP practices. Specifically, the focus is placed on the construction of ladders of reflection. These ladders illustrate how one may increase the level of abs...
متن کاملVirtual Extreme Programming Workbench: a support tool for practitioners of extreme programming in a distributed environment
The Extreme Programming software development methodology relies heavily on the colocation of the team members. Outsourcing and teleworking is becoming more common nowadays, meaning that XP practitioners need to adapt their daily XP practices for a distributed setting. In most cases the distributed teams use (existing) tools that is a direct translation of a practice without thinking about inter...
متن کاملTeaching Programming Languages by Experimental and Adversarial Thinking
We present a new approach to teaching programming language courses. Its essence is to view programming language learning as a natural science activity, where students probe languages experimentally to understand both the normal and extreme behaviors of their features. This has natural parallels to the “security mindset” of computer security, with languages taking the place of servers and other ...
متن کاملCommunication and Creative Thinking in Agile Software Development
This paper describes and analyses how a eXtreme Programming (XP) team work can use some ideas from Psychology and Computer Science fostering creativity and innovation in Software Development. The roles for creative team in order to have a chance for creative thinking, communication, innovation, collaboration and knowledge sharing are addressed to Agile Software Development teams.
متن کامل